﻿namespace Falcon.Core.Domain.Services
{
	public interface IIdentityService
	{
		/// <summary>
		/// Gets a value indicating whether this instance is authenticated.
		/// </summary>
		/// <value>
		/// 	<c>true</c> if this instance is authenticated; otherwise, <c>false</c>.
		/// </value>
		bool IsAuthenticated
		{
			get;
		}

		/// <summary>
		/// Gets a value indicating whether this instance is privileged.
		/// </summary>
		/// <value>
		/// 	<c>true</c> if this instance is privileged; otherwise, <c>false</c>.
		/// </value>
		bool IsPrivileged
		{ 
			get;
		}

		/// <summary>
		/// Gets the current user identity.
		/// </summary>
		/// <value>The current user identity.</value>
		UserIdentity Current
		{
			get;
		}
	}
}